package com.card.game.utils;

public class MjUtils {
	
	private static double EARTH_RADIUS = 6378.137;  
	  
    private static double rad(double d) {  
        return d * Math.PI / 180.0;  
    }  
	
	
	 public static double getDistance(double lat1, double lng1, double lat2,  
             double lng2) {  
		double radLat1 = rad(lat1);  
		double radLat2 = rad(lat2);  
		double a = radLat1 - radLat2;  
		double b = rad(lng1) - rad(lng2);  
		double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)  
		+ Math.cos(radLat1) * Math.cos(radLat2)  
		* Math.pow(Math.sin(b / 2), 2)));  
		s = s * EARTH_RADIUS;  
		s = Math.round(s * 10000d) / 10000d;  
		s = s*1000;  
		return s;  
	 }  

	 /*public static double GetDistance(double long1, double lat1, double long2, double lat2)
	    {
	        double a, b, R;
	        R = 6378137; //地球半径
	        lat1 = lat1 * Math.PI / 180.0;
	        lat2 = lat2 * Math.PI / 180.0; 
	        a = lat1 - lat2;
	        b = (long1 - long2) * Math.PI / 180.0;
	        double d;
	        double sa2, sb2;
	        sa2 = Math.Sin(a / 2.0);
	        sb2 = Math.Sin(b / 2.0);
	        d = 2 * R * Math.Asin(Math.Sqrt(sa2 * sa2 + Math.Cos(lat1) * Math.Cos(lat2) * sb2 * sb2));
	        return d;
	    }*/
}
